/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/*!				\file		OGLDraw.h
				\date		june 2010
				\author		TNick

				\brief		Defines OpenGl draw control


    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Please read ReadMe.txt and Licence.txt in root folder
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    
*/
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
#ifndef		__OGLDRAW_INC__
#define		__OGLDRAW_INC__
#ifdef		__cplusplus
//
//
//
//
/*  INCLUDES    ------------------------------------------------------------ */

#include	<QtGui>
#include	<QtOpenGL/QGLWidget>
#include	<QSettings>

#define BOOL_DEFINED		1
#include	"../../main.h"

/*  INCLUDES    ============================================================ */
//
//
//
//


/// this class handles everything related to main drawing area
/**
*
*/
class OGLDraw : public QGLWidget
{
    Q_OBJECT

	//
	//
	//
	//
	/*  DEFINITIONS    --------------------------------------------------------- */

	
	/*  DEFINITIONS    ========================================================= */
	//
	//
	//
	//
	/*  DATA    ---------------------------------------------------------------- */


	/*  DATA    ================================================================ */
	//
	//
	//
	//
	/*  FUNCTIONS    ----------------------------------------------------------- */

	// constructors and destructors
public:

	// constructors and destructors
public:
    // ---------------------------------------------------------------------
    /// constructor for this class
    explicit OGLDraw(QWidget *parent = 0);
    /// desstructor that takes care of memory resources
    virtual ~OGLDraw();
    // ---------------------------------------------------------------------



	// reimplementation of QGLWidget methods
protected:
    void initializeGL();
    void resizeGL(int width, int height);



	// reimplementation of QWidget methods
protected:
    void mousePressEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);



	// the widget uses the signals to tell the world about the changes
	// that it suffers
signals:



	// this is where the widget is informed about external events
public slots:



	/* ========================================================================= */


	/*  FUNCTIONS    =========================================================== */
	//
	//
	//
	//

};	/*	class	OGLDraw	*/
//
//
//
//
#endif	//	__cplusplus
#endif	//	__OGLDRAW_INC__
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
